package com.beep.erp.model.transfer.pallet;

import com.beep.erp.common.base.BaseBean;
import com.beep.erp.common.base.BasePresenter;
import com.beep.erp.common.base.BaseView;
import com.beep.erp.common.bean.BizStorageLocationsListBean;
import com.beep.erp.common.bean.PalletGoodsBean;

import rx.Observable;

/**
 * Created by jolly on 2018/9/2.
 */

public interface PalletGoodsContract {
    interface Model {
        Observable<PalletGoodsBean> getPalletGoodsDetail(String sign, String timeStamp, String name);

        Observable<BaseBean> movePosition(String sign, String timeStamp, String userId, String barcodeId, String goodsId, String number,
                                          String storageLocationIdFront, String storageLocationIdAfter);

        Observable<BizStorageLocationsListBean> getBizStorageLocationList(String sign, String timeStamp, String type);

        Observable<BaseBean> saveEarlyStoge(String sign, String timeStamp, String barcode, String goodsCode,
                                            String number, String typeInfo, String userId, String manufactureDate,
                                            String storageLocationId);

    }

    interface View extends BaseView {
        void getDate();

        void getPalletGoodsDetail(PalletGoodsBean palletGoodsBean);

        void movePosition(BaseBean baseBean);

        void saveEarlyStoge(BaseBean baseBean);

        void getBizStorageLocationList(BizStorageLocationsListBean bizStorageLocationsListBean);

    }

    abstract class Presenter extends BasePresenter<Model, View> {
        public abstract void getPalletGoodsDetail(String sign, String timeStamp, String name);

        public abstract void movePosition(String sign, String timeStamp, String userId, String barcodeId, String goodsId, String number,
                                          String storageLocationIdFront, String storageLocationIdAfter);

        public abstract void getBizStorageLocationList(String sign, String timeStamp, String type);

        public abstract void saveEarlyStoge(String sign, String timeStamp, String barcode, String goodsCode,
                                            String number, String typeInfo, String userId, String manufactureDate,
                                            String storageLocationId);

    }
}
